home *** CD-ROM | disk | FTP | other *** search
- unit MainForm;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, GroupBoxEx, ComCtrls, Spin, Buttons;
-
- type
- TForm1 = class(TForm)
- GroupBoxEx1: TGroupBoxEx;
- DateTimePicker1: TDateTimePicker;
- Edit1: TEdit;
- Memo1: TMemo;
- ListBox1: TListBox;
- ComboBox1: TComboBox;
- SpinEdit1: TSpinEdit;
- CheckBox1: TCheckBox;
- CheckBox2: TCheckBox;
- CheckBox3: TCheckBox;
- CheckBox4: TCheckBox;
- CaptionPosCombo: TComboBox;
- Label1: TLabel;
- GroupBoxEx2: TGroupBoxEx;
- GroupBoxEx3: TGroupBoxEx;
- RadioButton1: TRadioButton;
- RadioButton2: TRadioButton;
- Button1: TButton;
- Button2: TButton;
- CheckBox5: TCheckBox;
- CheckBox6: TCheckBox;
- CheckBox7: TCheckBox;
- procedure GroupBoxEx1EnableDisableQuery(Sender: TObject; Control: TControl;
- Enabled: Boolean; var Handled: Boolean);
- procedure CheckBox1Click(Sender: TObject);
- procedure CheckBox3Click(Sender: TObject);
- procedure CheckBox4Click(Sender: TObject);
- procedure GroupBoxEx1PaintCaptionBackground(Sender: TObject;
- Canvas: TCanvas; const Rect: TRect; var Handled: Boolean);
- procedure FormCreate(Sender: TObject);
- procedure CaptionPosComboChange(Sender: TObject);
- procedure RadioButton2Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure PaintGradient (ACanvas: TCanvas; ARect: TRect; StartColor, EndColor: LongInt);
- var
- Idx: Integer;
- sr, sg, sb, er, eg, eb: Byte;
- begin
- sr := GetRValue (StartColor);
- sg := GetGValue (StartColor);
- sb := GetBValue (StartColor);
-
- er := GetRValue (EndColor);
- eg := GetGValue (EndColor);
- eb := GetBValue (EndColor);
-
- with ACanvas do for Idx := 0 to 31 do begin
- Brush.Color := RGB (sr + MulDiv (Idx, er - sr, 31), sg + MulDiv (Idx, eg - sg, 31), sb + MulDiv (Idx, eb - sb, 31));
- ACanvas.FillRect (Rect (ARect.Left, ARect.Top + MulDiv (Idx, ARect.Bottom - ARect.Top, 32),
- ARect.Right, ARect.Top + MulDiv (Idx + 1, ARect.Bottom - ARect.Top, 32)));
- end;
- end;
-
- procedure TForm1.GroupBoxEx1EnableDisableQuery(Sender: TObject; Control: TControl; Enabled: Boolean; var Handled: Boolean);
- begin
- if Control.ClassName = 'TSpinEdit' then begin
- if Enabled then TSpinEdit (Control).Color := clWindow
- else TSpinEdit (Control).Color := clBtnFace;
- Handled := True;
- end;
- end;
-
- procedure TForm1.CheckBox1Click(Sender: TObject);
- begin
- GroupBoxEx1.Enabled := CheckBox1.Checked;
- end;
-
- procedure TForm1.CheckBox3Click(Sender: TObject);
- begin
- GroupBoxEx1.Advanced.CaptionSpaces := CheckBox3.Checked;
- end;
-
- procedure TForm1.CheckBox4Click(Sender: TObject);
- begin
- GroupBoxEx1.Advanced.ShowBorder := CheckBox4.Checked;
- end;
-
- procedure TForm1.GroupBoxEx1PaintCaptionBackground (Sender: TObject; Canvas: TCanvas; const Rect: TRect; var Handled: Boolean);
- begin
- // Only add cool effects for enabled group boxes
- if TGroupBoxEx (Sender).Enabled then begin
- PaintGradient (Canvas, Rect, ColorToRGB (clWhite), ColorToRGB (clYellow));
- Handled := True;
- end;
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- CaptionPosCombo.ItemIndex := 0;
- end;
-
- procedure TForm1.CaptionPosComboChange(Sender: TObject);
- begin
- GroupBoxEx1.Advanced.CaptionPos := TGroupBoxCaptionPos (CaptionPosCombo.ItemIndex);
- end;
-
- procedure TForm1.RadioButton2Click(Sender: TObject);
- begin
- GroupBoxEx2.Enabled := Sender = RadioButton2;
- GroupBoxEx3.Enabled := Sender = RadioButton1;
- end;
-
- end.
-
- procedure TForm1.PaintBox1Paint(Sender: TObject);
- begin
- PaintGradient (PaintBox1.Canvas, PaintBox1.ClientRect, ColorToRGB (clWhite), ColorToRGB (clYellow));
- end;
-